5.2 Enrutamiento jerárquico y sistemas autónomos

Sistemas autónomos (AS), formados por un grupo de routers que normalmente se encuentran bajo el mismo control administrativo. Los routers de un mismo AS ejecutan todos ellos el mismo algoritmo de enrutamiento.

Protocolo de enrutamiento interno del sistema autónomo: el algoritmo de enrutamiento que se ejecuta en el sistema.

Routers gateways: routers de un sistema autónomo que tendrán la tarea adicional de ser responsables del reenvio de paquetes a los destinos externos al AS.

Un protocolo de enrutamiento interno cumple la tarea de obtener información de alcanzabilidad de los AS vecinos y propagar dicha información de alcanzabilidad a todos los routers internos del AS.
Cuando un sistema autónomo obtiene información acerca de un destino de un AS vecino, puede anunciar esta información de enrutamiento a algunos de sus otros sistemas autónomos vecinos.

Pasted image 20221118105810.png

Método de la patata caliente

Un método, que es el que se suele utilizar en la práctica, consistiría en utilizar el enrutamiento de la patata caliente. Con este tipo de enrutamiento, el sistema autónomo suelta el paquete tan rápido como sea posible (de la forma más barata posible).

Para hacer esto, el router envía el paquete al router de pasarela que tiene el coste más pequeño de entre todos los routers de pasarela que cuentan con una ruta hasta ese destino.

Definiendo una entrada en la tabla de forwarding de un router

Supongamos que AS1 aprende por medio de un protocolo inter-AS que la subred 𝑋 es alcanzable a través de AS3, por el Gateway 1c, pero no vía AS2; luego el protocolo inter-AS propaga esa información a todos los routers internos. Luego el router 1d determina por el algoritmo de ruteo intra-AS que la interfaz 𝐼 está en el camino de costo mínimo, por lo que agrega a la tabla de forwarding la entrada (𝑋,𝐼).


Pasted image 20221118110145.png


Ahora suponemos que AS1 aprende por el protocolo inter-AS que la subred 𝑋 es alcanzable tanto por AS3 como por AS2, entonces, para configurar la tabla de forwarding, el router 1d debe determinar por qué Gateway redirigir los paquetes para el destino 𝑋, lo cual es un trabajo para el protocolo de ruteo inter-AS.


Pasted image 20221118110225.png

Enrutamiento en Internet

INTRA-AS ROUTING (IGP)

El protocolo Intra-AS es utilizado para determinar cómo es ejecutado el ruteo dentro del sistema autónomo. Son conocidos también son conocidos como Interior Gateway Protocols (IGP).

Los más utilizados son:

  • RIP: Routing Information Protocol
  • OSPF: Open Shortest Path First
  • IGRP: Interior Gateway Routing Protocol

Los protocolos de enrutamiento internos de los AS se conocen también como protocolos de pasarela interior.

Routing Information Protocol (RIP)

RIP es un protocolo de vector de distancias que opera de una forma muy parecida al protocolo DV "ideal". Utiliza como métrica de coste el recuento de saltos; es decir, cada enlace tiene un coste de 1. Fue diseñado para redes pequeñas o medianas y por esto establece que un camino dentro de la red tiene un máximo de 15 hops. De esta manera utiliza 16 como infinito.

El vector de distancias para cualquier router es la estimación actual de la ruta más corta desde dicho router a las subredes del AS. En RIP, las actualizaciones de enrutamientos son intercambiadas entre los vecinos cada 30 segundos mediante un mensaje de respuesta RIP.

El mensaje de respuesta enviado por un router o un host contiene una lista de hasta 25 subredes de destino pertenecientes al sistema autónomo, así como la distancia desde el emisor a cada una de esas subredes. Los mensajes de respuesta se conocen como anuncios RIP.

Cada router mantiene una tabla RIP conocida como tabla de enrutamiento, esta tabla incluye tanto el vector de distancia del router como la tabla de reenvío del mismo.
Si un router no tienen noticias de su vecino al menos una vez cada 180 segundos, considera que ese vecino ya no es alcanzable; es decir, o bien ese vecino ha muerto o el enlace que le conectaba con el ha fallado. Si esto ocurre, RIP modifica su tabla de enrutamiento local, y luego propagara esta información enviando anuncios a sus routers vecinos. Los fallos de enlace se propagan rápidamente a la red completa, utilizando reversa envenenada para evitar ping-pong loops, con la distancia infinita igual a 16hops.

Un router también puede solicitar información de otros mediante un mensaje de solicitud RIP, acerca del coste a un destino dado. Esto se realiza mediante mensajes UDP en el puerto 520.

OPEN SHORTEST PATH FIRST (OSPF)

Protocolo de estado de enlaces que utiliza la técnica de inundación de información de estados de los enlaces y el algoritmo de cálculo de ruta de coste mínimo de Dijkstra.

OSPF es un protocolo de enrutamiento intradominio, que permite el enrutamiento jerárquico, y lo hace dividiendo un AS en zonas.

Con OSPF, un router construye un mapa topológico completo del sistema autónomo entero, es decir un grafo. A continuación, el router ejecuta localmente el algoritmo de la ruta más corta de Dijkstra para determinar un árbol de rutas más cortas a todas las subredes, con él mismo como nodo raíz.

El administrador de la red configura los costes de los enlaces individuales, además puede decidir hacer igual a 1 el coste de todos los enlaces, proporcionando un enrutamiento de número mínimo de saltos, o puede definir los pesos de los enlaces para que sea inversamente proporcionales a la capacidad de los mismos, con el fin de disuadir el tráfico a utilizar los enlaces con pequeño ancho de banda.
OSPF no establece una política para definir el pesos de los enlaces, sino que proporciona mecanismos para determinar el enrutamiento de coste mínimo para el conjunto dado de pesos de los enlaces.

Con OSPF, un router difunde la información de enrutamiento a todos los demás routers del sistema autónomo, no solo a sus routers vecinos. Esta información se difunde cuando se ha producido un cambio en el estado de un enlace, también difunde esta información en menos de 30 minutos, incluso aunque no haya cambiado el estado.
Lo anuncios OSPF están contenidos en OSPF messages que son transportados directamente por IP, siendo el número de protocolo de la capa superior para OSPF igual a 89 (header tipo de IP). Así, el protocolo tiene que implementar por sí mismo funcionalidades tales como la transferencia fiable de mensajes y la de envío de mensajes de difusión acerca del estados de los enlaces.

OSPF comprueba que los enlaces están operativos mediante que el mensaje HELLO que se envía a un vecino conectado, y permite al router OSPF obtener de un vecino la base de datos de estado de los enlaces de toda la red.

Algunas de las funcionalidades avanzadas incluidas en OSPF son las siguientes:

  • Seguridad:
    Los intercambios entre routers OSPF pueden ser autentificados.
    Con esto solo pueden participar en el protocolo OSPF los routers de confianza del sistema autónomo. Por defecto, los paquetes OSPF entre routers no son identificados y podrían ser alterados. Pueden configurarse dos tipos de autenticación: simple y MD5.
  • Varias rutas de igual coste:
    Cuando varias rutas de un destino tienen el mismo coste, OSPF permite utilizar varias rutas.
  • Soporte integrado para enrutamiento de unidifusión y por multidifusión:
    OSP multidifusión añade extensiones simples a OSPF para proporcionar enrutamiento por multidifusión.
  • Soporte para añadir una jerarquía dentro de un mismo dominio de enrutamiento.

OSPF jerárquico

Se tienen dos niveles de jerarquía, área local y backbone. Los advertisements de link-state solo ocurren en área local. Cada nodo tiene una topología detallada de áreas, solo sabe direcciones a redes en otras áreas.

Pasted image 20221118112110.png

Varios elementos:

  • Area border routers: resume las distancias a redes en su propia área y avisa a otros Area border routers.
  • Backbone routers: corren el ruteo OSPF limitado al backbone.
  • Boundary routers: conectan con otros AS.

Enrutamiento entre sistemas autónomos: BGP

BGP es un protocolo de enrutamientos entre sistemas autónomos que proporciona a cada sistema autónomo mecanismos para:

  • Obtener información acerca de la alcanzabilidad de las subredes de los sistemas autónomos vecinos.
  • Propagar la información de alcanzabilidada a todos los routers internos del sistema autónomo.
  • Determinar buenas rutas de subredes, basándose en la información de alcanzabilidad y en la política del sistema autónomo.
    Lo más importante es que BGP permite a cada subred anunciar su existencia al resto de Internet.

En BGP, los pares de routers intercambian la información de ruteo mediante conexiones TCP semipermanentes en el puerto 179. En general, existe una conexión BGP-TCP por cada enlace que conecta directamente dos routers en dos AS distintos. Además, hay también una conexión TCP semipermanente entre los routers dentro del AS.

Para cada conexión TCP, los dos routers situados en los extremos de la conexión se denominan pares BGP y la conexión TCP junto con todos los mensajes BGP enviados a través de la conexión se denomina sesión BGP. Además, una sesión BGP que abarca dos sistemas autónomos se conoce como sesión externa BGP (eBGP) y una sesión BGP entre routers de un mismo sistema autónomo se conoce como sesión interna BGP (iBGP).

BGP permite que cada sistema autónomo aprenda qué destinos son alcanzables a través de sus sistemas autónomos vecinos. En BGP, los destinos no son hosts sino prefijos CIDR, representando cada prefijo una subred o una colección de subredes.

Atributos de ruta y rutas BGP

En BGP, un sistema autónomo se identifica mediante su número de sistema autónomo (ASN, Autonomous System Number) globalmente único.

Atributos BGP:

  • AS-PATH: contiene los sistemas autónomos a través de los que ha pasado el anuncio del prefijo. Cuando se ha pasado un prefijo dentro de un sistema autónomo, el sistema añade su ASN al atributo AS-PATH. Los routers utilizan este atributo para impedir los bucles de anuncios.
  • El siguiente salto (NEXT HOP) es la interfaz del router que inicia la secuencia de sistemas autónomos (osea la AS-PATH).

Además, BGP incluye atributos que permiten a los routers asignar métricas de preferencia en las rutas, y un atributo que indica como el prefijo fue insertado en BGP en el AS de origen.
Cuando un Gateway router recibe un aviso de ruta, utiliza su import policy para decidir si aceptarla o rechazarla, por ejemplo, sabiendo que nunca se debe hacer el ruteo por el ASxyz.

Selección de la ruta BGP

Un router puede aprender acerca de más de una ruta a cualquier prefijo, en cuyo caso tendrá que seleccionar una de las posibles rutas. Las entradas para este proceso de selección de ruta es el conjunto de todas las rutas que han sido aprendidas y aceptadas por el router.

Si existen dos rutas con el mismo prefijo, entonces BGP invoca secuencialmente las siguientes reglas de eliminación hasta quedarse con una ruta:

  1. Valor del atributo de preferencia local, que puede ser definido por el router, o aprendido desde otro router en el mismo AS. Esta política de decisión es llevada a cabo por el administrador de red del AS.
  2. AS-PATH más corto
  3. El router NEXT-HOP más cercano, utilizando el ruteo de la papa caliente.
  4. Si todavía quedan rutas, entonces se aplican criterios adicionales.

Es importante observar que no se puede afirmar que la decisión garantiza un camino más corto en cantidad de hops de routers, porque se desconoce la información interna de cada AS. Un camino con AS-PATH más corto puede incluir ASs con muchos “hops” de routers internos, y puede ser más largo en término de routers que otro camino con AS-PATH más largo.

Mensajes BGP

Los mensajes BGP se intercambian usando TCP.

  • OPEN: abre conexión TCP con “peer” y autentica al que envía.
  • UPDATE: publica nuevos caminos (o da de baja otros).
  • KEEPALIVE: mantiene la conexión viva en ausencia de UPDATES; se usa también como ACK del OPEN.
  • NOTIFICATION: reporta errores en mensaje previo; también se usa para cerrar la conexión.

Política de ruteo en BGP:

Pasted image 20221118115118.png

  • A, B, C son proveedores de red.
  • X, W, Y son clientes de los proveedores.
  • X es dual-homed, ya que está asociado a dos redes. Por lo que X no quiere “rutear” desde B por X a C, de esta forma, X no avisara a B una ruta a C.
  • A avisa un camino AW a B.
  • B avisa un camino BAW a X.
  • Así, surge la consulta de si B debe avisar del camino BAW a C:
    • No, ya que B no obtiene “ingresos” por hacer el ruteo CBAW ya que ni W ni C son clientes de B.
    • B quiere forzar a C a rutear por w a través de A.
    • B quiere rutear solamente desde/hacia sus clientes.

¿Por qué diferentes ruteos Intra-AS e Inter-AS?

Políticas:

  • Inter-AS: el administrador quiere el control sobre como su tráfico es ruteado, es decir, quien rutea a través de su red.
  • Intra-AS: un único administrador, por lo que no se necesitan políticas de decisión.

Escala:

  • El ruteo jerárquico reduce el tamaño de la tabla.

Rendimiento:

  • Intra-AS: puede enfocarse en el rendimiento.
  • Inter-AS: las políticas deben dominar por sobre el rendimiento.